package com.palmcity.rtti.base;

import java.io.Serializable;
import java.util.Comparator;


/**
 * <p>DTIJam</p>
 * <p>dti路况实体</p>
 *
 * @author		周华彬(zhouhuabin@ctfo.com, zhou_hua_bin@163.com)
 * @version		0.0.0
 * <table style="border:1px solid gray;">
 * <tr>
 * <th width="100px">版本号</th><th width="100px">动作</th><th width="100px">修改人</th><th width="100px">修改时间</th>
 * </tr>
 * <!-- 以 Table 方式书写修改历史 -->
 * <tr>
 * <td>0.0.0</td><td>创建类</td><td>zhouhuabin</td><td>2014年12月30日 下午3:27:04</td>
 * </tr>
 * <tr>
 * <td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td>
 * </tr>
 * </table>
*/
public class DTIJam implements IDTI, Serializable {
	
	/** TODO */
	private static final long serialVersionUID = 7724662397482572240L;
	
	/**路况类型: 当前路况 - 1,预测路况- 3 */
	private byte infoType;
	
	/** 所属路链对象 */
	private DTILink link;

	/** 路况 Z:不确定 C:畅通 B:缓慢 A:拥堵 */
	private byte condition;

	/** 旅行时间 单位为秒 */
	private short travelTime;

	/*** 平均速度 单位为公里/小时 */
	private float speed;

	
	
	/**
	 * 字段 infoType 获取函数
	 * @return the infoType : byte
	 */
	public byte getInfoType() {
		return infoType;
	}



	/**
	 * 字段 infoType 设置函数 : byte
	 * @param infoType the infoType to set
	 */
	public void setInfoType(byte infoType) {
		this.infoType = infoType;
	}



	/**
	 * 字段 link 获取函数
	 * @return the link : DTILink
	 */
	public DTILink getLink() {
		return link;
	}



	/**
	 * 字段 link 设置函数 : DTILink
	 * @param link the link to set
	 */
	public void setLink(DTILink link) {
		this.link = link;
	}



	/**
	 * 字段 condition 获取函数
	 * @return the condition : byte
	 */
	public byte getCondition() {
		return condition;
	}



	/**
	 * 字段 condition 设置函数 : byte
	 * @param condition the condition to set
	 */
	public void setCondition(char condition) {
		this.condition = (byte) condition;
	}



	/**
	 * 字段 travelTime 获取函数
	 * @return the travelTime : short
	 */
	public short getTravelTime() {
		return travelTime;
	}



	/**
	 * 字段 travelTime 设置函数 : short
	 * @param travelTime the travelTime to set
	 */
	public void setTravelTime(short travelTime) {
		this.travelTime = travelTime;
	}



	/**
	 * 字段 speed 获取函数
	 * @return the speed : float
	 */
	public float getSpeed() {
		return speed;
	}



	/**
	 * 字段 speed 设置函数 : float
	 * @param speed the speed to set
	 */
	public void setSpeed(float speed) {
		this.speed = speed;
	}



	/**
	 * <p>DTIJamComparator</p>
	 * <p>路况对象对比类</p>
	 *
	 * @author		周华彬(zhouhuabin@ctfo.com, zhou_hua_bin@163.com)
	 * @version		0.0.0
	 * <table style="border:1px solid gray;">
	 * <tr>
	 * <th width="100px">版本号</th><th width="100px">动作</th><th width="100px">修改人</th><th width="100px">修改时间</th>
	 * </tr>
	 * <!-- 以 Table 方式书写修改历史 -->
	 * <tr>
	 * <td>0.0.0</td><td>创建类</td><td>zhouhuabin</td><td>2014年12月30日 下午3:26:31</td>
	 * </tr>
	 * <tr>
	 * <td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td>
	 * </tr>
	 * </table>
	*/
	public static class DTIJamComparator implements Comparator<Object> {
		@Override
		public int compare(Object o1, Object o2) {
			//按路链id从小到大排序
			if (((DTIJam) o1).getLink().getLinkId() < ((DTIJam) o2).getLink()
					.getLinkId())
				return 0;
			else
				return 1;
		}
	}
}